Задано
слово, состоящее из прописных латинских букв. Отсортируйте его буквы по
возрастанию и по убыванию лексикографического порядка.
Вход. Одна
строка, содержащая не более 100 прописных латинских букв 'a' - 'z'.
Выход. В первой
строке выведите отсортированную входную строку по неубыванию ASCII кодов букв.
Во второй строке выведите отсортированную входную строку по невозрастанию ASCII
кодов букв.
Пример входа |
Пример выхода |
qwerty |
eqrtwy ywtrqe |
строки
Отсортируем
строки при помощи функции sort из STL.
Воспользуемся компаратором less<int>() для сортировки по возрастанию и
компаратором greater<int>() для сортировки по убыванию.
Реализация алгоритма
Объявим
рабочий символьный массив.
#define MAX 101
char s[MAX];
Читаем
строку.
gets(s);
Сортируем буквы по возрастанию. Выводим полученную
строку.
sort(s,s+strlen(s),less<int>());
puts(s);
Сортируем буквы по убыванию. Выводим полученную строку.
sort(s,s+strlen(s),greater<int>());
puts(s);
Реализация алгоритма – string
#include <iostream>
#include <string>
#include <algorithm>
using namespace
std;
string s;
int main(void)
{
cin >> s;
sort(s.begin(),s.end(),less<int>());
cout << s
<< "\n";
sort(s.begin(),s.end(),greater<int>());
cout << s
<< "\n";
return 0;
}
Реализация алгоритма – C, swap sort
#include <stdio.h>
#include <string.h>
char s[101], temp;
int i, j, n;
int main(void)
{
gets(s);
n = strlen(s);
for (i = 0; i <
n; i++)
for (j = i + 1; j
< n; j++)
if (s[i] >
s[j])
{
temp = s[i]; s[i] = s[j];
s[j] = temp;
}
puts(s);
for (i = 0; i <
n; i++)
for (j = i + 1; j
< n; j++)
if (s[i] <
s[j])
{
temp = s[i]; s[i] = s[j];
s[j] = temp;
}
puts(s);
return 0;
}
Java реализация
import
java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner con = new Scanner(System.in);
String s[] = con.nextLine().split("");
// s = {"q", "w",
"e", "r", "t", "y"}
Arrays.sort(s);
System.out.println(String.join("", s));
Arrays.sort(s,Collections.reverseOrder());
System.out.println(String.join("", s));
con.close();
}
}
Python реализация
s = input()
print(''.join(sorted(s)))
print(''.join(sorted(s, reverse = True)))
Python реализация – сортировка
l = list(input())
l.sort()
print(''.join(l))
l.sort(reverse = True)
print(''.join(l))